Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags. |
Wam-V RobotX Challenge made easy with openai_ros
Description: This tutorial teaches you how in a few simple steps, you can use openai to make your Wam-V robot learn how to do the InWaterTask Demonstrate Navigation Control.Keywords: RobotX, Wam-V, OpenAi
Tutorial Level: BEGINNER
Contents
Introduction
The Maritime RobotX Challenge is focused in gathering people from around the world to try to complete a series of challenges with a robotic autonomous water vehicle called WAM-V.
In this tutorial you will learn how to integrate OpenAI with ROS through OpenAI_ROS package. This will give you access to an easy way to use AI algorithms to improve your performance in each challenge.
You will learn this by an example on how this would be done for one of the first challenges called Demonstrate Navigation Control.
You can get more information in the offitial documentation:
Example: Use OpenAI ROS for Qlearning or DeepLearning To solve a challenge
This challenge consists of the following, extracted from the official documentation Draft linked above:
The Demonstrate Navigation and Control challenge is a mandatory task. The Autonomous Maritime System (AMS) must autonomously navigate through two sets of buoys, placed approximately 30m apart. This task is mandatory prior to teams being permitted entry to the courses for practice, qualifying, semifinals, and finals. Teams must demonstrate that their Autonomous Maritime System is able to autonomously and safely transit through the navigation channel.
Essentially is make the Wam-V go from point A to point B, without crossing a certain workspace, defined by ¡¡four colored buoys.
To do this , you have two options: * Execute locally: * Use a Plug&Play ROSject: 1) Just click on the provided OpenAI-ROS ROSject link, here you will find a collection of examples and ready to go simulations, among which you will find the **wamv** for Qlearning and DeepLearning. 2) Let's launch the Qlearning example: 3) Want to lauhch instead the DeepLearning?: This should launch the world, spawn the robot and start the learning with Qlearn. You should get something like this: And thats it! So now its your turn to change the AI algorithm, maybe create TaskEnvironments for openai_ros of other challenges of the RobotX.
Step 0: Download the needed files
cd ~/catkin_ws
git clone https://bitbucket.org/theconstructcore/openai_examples_projects.git
git clone https://bitbucket.org/theconstructcore/openai_ros.git
cd openai_ros;git checkout version2
cd ~/catkin_ws;catkin_make;source devel/setup.bash
roslaunch wamv_openai_ros_example start_training_v2.launch
roslaunch wamv_deep_qlearning start_wamv_deepqlearning_v2.launch
Video Tutorial